Address translator, message processing method and equipment

ABSTRACT

An address translator includes an SIP message detecting function. Upon detection of an SIP message, the address translator sends the SIP message to an SIP address translator. The SIP address translator extracts addresses for translation, and makes a query to the address translator. The SIP address translator translates an IP address included in the SIP message, using translation information of the address translator. Thus, an SIP communication is accomplished between terminals belonging to different regions in association of the address translator and the SIP address translator.

CROSS-REFERENCES

This is a continuation application of U.S. Ser. No. 13/333,054, filedDec. 21, 2011 which is a continuation application of U.S. Ser. No.12/852,721, filed Aug. 9, 2010, which is a continuation application ofU.S. Ser. No. 12/371,950, filed Feb. 17, 2009 (now U.S. Pat. No.7,788,408), which is a continuation application of U.S. Ser. No.10/081,535, filed Feb. 25, 2002 (now U.S. Pat. No. 7,761,597), theentire disclosures of which are hereby incorporated by reference andwhich claim priority to JP 2001-373520, filed Dec. 7, 2001.

BACKGROUND OF THE INVENTION

The present invention relates to a system for interconnecting networkswhich conform to the same protocol, or networks which conform todifferent protocols.

The IP (Internet Protocol) networks represented by the Internet are nowrapidly developing. A sudden increase in Internet users results in anincreased proportion of data communications in communication networks.Communication operators are considering the construction of an IP-basednext generation communication network for fusion of data communicationsand audio communications.

VoIP (Voice over IP) is a technology for transmitting audio informationon an IP network. VoIP first sets a virtual communication path (session)between communication devices. IP packetized audio data is transferredon the set communication path. A session control protocol is requestedfor controlling the establishment, maintenance and disconnection of thesession between communication devices.

IETF (Internet Engineering Task Force) has specified the SIP (SessionInitiation Protocol) (IETF RFC2543) for establishing and terminating asession for an IP multimedia communication. Because of its highexpendability in function, the SIP is drawing attention as a sessioncontrol protocol for VoIP.

The SIP is an application protocol which utilizes a transport mechanismsuch as TCP (Transmission Control Protocol) and UDP (User DatagramProtocol). The SIP is a text-based protocol which is comprised of aheader for carrying a request or a response, and a message body fordescribing the contents of a session. For describing a session in theSIP, SDP (Session Description Protocol) (IETF RFC2327), for example, isapplied.

The SIP employs an architecture of a client server model. A user agentclient sends an SIP request to a proxy (SIP server) of a user agentserver. The SIP server solves the address of the destination using DNS(Domain Name System) or the like to establish a session betweenterminals.

The SIP server has a proxy mode and a redirect mode depending on itsrole. In the proxy mode, a proxy server mediates a request forestablishing a session between a user agent client and a user agentserver. In the redirect mode, a user agent client directly connects to auser agent server, making use of information on the destination acquiredfrom an SIP redirect server.

In the following, description will be made on an SIP connectionprocedure using the SIP server in the proxy mode. When a terminal x onan IP network begins an audio communication with a terminal y on the IPnetwork using the SIP, the terminal x sends a call setting request(INVITE) to the SIP server. The SIP server identifies positioninformation of the terminal y, and sends the call setting request. Theterminal y sends a response indicative of acceptance of the call.

This response is sent to the terminal x via the SIP server through whichthe call setting request has passed. The terminal x confirms thereception of the response by sending an ACK request to the terminal y.The ACK request is transferred by the SIP server or directly sent to theterminal y. In the foregoing manner, a communication is availablebetween the terminal x and terminal y. Generally, the call settingrequest and response include information (session description) fortransferring user information (audio packets) between the terminal x andterminal y. The SDP or the like is applied to the session description.The terminal x (terminal y) sends user information to a destinationspecified by the terminal y (terminal x).

In accordance with the specifications of the SIP and SDP, information onthe terminals and SIP server can be specified by an IP address.

On the other hand, the rapid spread of the IP networks increases theimportance of the technology for interconnecting regions which differ inaddressing system from each other.

For example, a method of using NAT (Network Address Translator)technology (IETF RFC1631) is known as a technology for interconnecting anetwork which confirms to private addresses and a network which conformsto global addresses.

The NAT translates a private IPv4 address to a global IPv4 address, orvice versa. The basic NAT rewrites one of a source address and adestination address at the time a datagram passes between two regionsconnected by an NAT router. When an address space allocated to theprivate network collides with an address space allocated to the publicnetwork, a twice NAT technology may be often used for solving thecollision of addresses. The twice NAT technology rewrites both of thesource address and destination address at the time a datagram passesbetween two regions connected by a twice NAT router.

The twice NAT operates in the following manner for solving the collisionof addresses. When Host-A in the private region begins a communicationwith Host-X in the public region, Host-A sends a packet for inquiringthe DNS address of Host-X. DNS-ALG (Domain Name Service—ApplicationLevel Gateway) captures this packet, translates the address for Host-Xto an address (Host-XPRIME) which can be routed within the privateregion, and returns the translated address to Host-A. When the DNSaddress is solved, Host-A begins a communication with Host-XPRIME. Atthe time this packet passes the twice NAT, the source address isrewritten to an address possessed by the NAT, and the destinationaddress is rewritten to the address of Host-X. A similar translation tothe foregoing is applied to a return packet from Host-X. Details on theoperation of the DNS-ALG are described in IETF RFC2694.

The foregoing is an exemplary technology which is used when a network towhich a certain terminal belongs employs the same protocol as a networkto which a destination terminal belongs. When a network to which acertain terminal belongs differs in communication protocol from anetwork to which a destination terminal belongs, NAT-PT (IETF RFC2766),SOCKS64 (IETF RFC3089) and the like are known as translation schemes forconnecting a network which uses, for example, IPv4 as the protocol(hereinafter called the IPv4 network) to a network which uses InternetProtocol version 6 as the protocol (hereinafter called the IPv6network).

Basically, either of these schemes mutually translates the format of theIP packet between IPv4 and IPv6. For example, IPv4 addresses aretranslated to IPv6 addresses, or vice versa. A device which isresponsible for this translation is hereinafter called a translator. Forthe translation, the translator must create and hold a correspondencerelationship between the IPv4 addresses and IPv6 addresses before thetranslation. When this correspondence relationship is dynamicallycreated each time a communication is made, the name solution of DNS(domain name system) is utilized as a trigger (see Internet RFCDictionary, pp 323-329, ASCII Edition).

The DNS is a system for translating a name (character string) readilyperceptible to humans such as URL of a web to an IP address. In thefollowing, the operation of translating a name to an IP address iscalled a name solution. Today, almost all applications on the Internetutilizes this DNS to acquire an IP address of a communication party.

The NAT and translator, making use of this fact, monitor at all timesmessages of the DNS communicated at the outset of a communication, andtake advantage of a message for requesting a name solution for creatingtranslation information (a correspondence relationship of IP addresses,and the like). Specifically, assuming that an IPv6 terminal conducts aname solution for a certain name, and an IP address, which is a responsethereto, is IPv4, the IPv4 address is rewritten to an IPv6 address whichis sent back to the IPv6 terminal. Then, the IPv4 address before therewriting is corresponded to the rewritten IPv6 address. In other words,the DNS-ALG intercepts the response message to the name solution for therewriting, and dynamically creates the translation information based onthe original and rewritten information.

SUMMARY OF THE INVENTION

An IP packet is comprised of an IP header which includes packet transferinformation, a TCP/UDP header, and a payload. A translator representedby the NAT and NAT-PT does not translate an IP address included in thepayload. An SIP message is set in the payload.

On the other hand, the SIP and SDP can set an IP address in the payload,as mentioned above.

However, when a region A and a region B are interconnected by an addresstranslator and a terminal belonging to the region A communicates with aterminal belonging to the region B through the SIP, the conventional NATand translator do not translate an IP address set in the SIP and SDP,resulting in a failure in a communication between the terminals throughSIP.

It is an object of the present invention to provide an SIP messagetranslation system which enables SIP-based communications between acertain terminal belonging to a network and a destination terminalbelonging to another network even if the two network differ in theaddressing system from each other.

According to one aspect of the present invention, a method of processinga message including a first portion and a second portion includes:

first translation processing for translating information in the firstpart from information conforming to a first protocol (or addressingsystem) to information conforming to a second protocol (or addressingsystem);

determination processing for determining whether or not the secondportion requires a translation; and

second translation processing for translating information in the secondportion, determined to require a translation, from informationconforming to the first protocol to information conforming to the secondprotocol.

The order of the first translation processing and second translationprocessing is arbitrary.

These operations may be performed by using a first server and a secondserver, wherein the first translation processing is performed by thefirst server, and at least information in the second portion istransferred from the first server to the second server which extracts aparameter that requires a translation from the second portion, andperforms the second translation processing on the extracted parameter,followed by a transfer from the second server to the first server of theinformation in the second portion which has undergone the secondtranslation processing.

Alternatively, a plurality of processors interconnected through aninternal bus within a single server may perform the processing incooperation. Further alternatively, a plurality of programs running on asingle processor within a single server may perform the processing incooperation.

As a typical application example, the first portion is an IP header, thesecond portion is a payload including an SIP message, one of the firstprotocol and second protocol is IPv4, the other protocol is IPv6, andinformation to be translated is an address.

Also, according to another aspect of the present invention, an addresstranslator is connected to both a first network conforming to a firstprotocol and a second network conforming to a second protocol. Theaddress translator has a memory part for holding a translation rule fortranslating the first protocol to the second protocol, or vice versa, atranslating part for translating a first address of input informationconforming to the first protocol to a second address conforming to thesecond protocol, or vice versa, and a function of outputting the inputinformation and the translation rule.

A destination, to which the input information and translation rule isoutputted, is another server external to the address translator, anotherblock connected to an internal bus within the address translator, oranother processing block within the same processor.

In a preferred example, input information, the protocol of which istranslated in the destination using the input information andtranslation rule, is inputted again to the address translator.

According to another aspect of the present invention, an addresstranslator for connecting a network A conforming to a protocol P to anetwork B conforming to a protocol Q, has an address translatingfunction for translating an address conforming to the protocol P to anaddress conforming to the protocol Q, or vice versa, and a detectingfunction for detecting a communication conforming to a particularprotocol, wherein the address translator translates an address describedin a first region of communication data by the address translationfunction, and when the address translator detects a communicationconforming to the particular protocol, the address translator createstranslation information including a correspondence relationship betweenaddresses in the protocol P and addresses in protocol Q for translatingan address described in a second region of the communication data.

More specifically, in a communication network for interconnectingnetworks which differ in addressing system from one another, at leastfollowing two means are provided in addition to a conventional addresstranslator represented by the NAT and translator: (1) means for causingthe address translator to detect an SIP message communicated betweendifferent region; and (2) SIP message translating means for translatingan IP address set in the SIP and SDP in accordance with an addresstranslation scheme of the address translator.

The address translator detects an SIP message based on the IP address ofan SIP server, or a combination of the IP address and a port number ofthe SIP server, or the port number. When the address translator whichinterconnects the networks having different addressing systems detectsan SIP message sent from a terminal or the SIP server, the addresstranslator initiates the SIP message translating means.

The SIP message translating means includes at least the following threefunctions: (1) a function of detecting a parameter for translation inthe SIP message; (2) a translation rule corresponding to an addresstranslation scheme provided by the address translator; and (3) afunction of rewriting the SIP message, making use of a translation entryof the address translator. The address translator creates a translationentry based on a request from an SIP address translator. The addresstranslator rewrites header information in a packet communicated betweencommunication terminals based on the translation entry.

For implementing the functions of the SIP message translating means,there are the following three forms.

A first implementation provides an SIP address translator which has SIPmessage translating means. The SIP address translator rewrites an IPaddress included in an SIP message, making use of a translation entry ofthe address translator.

In a second implementation, the address translator has a function ofdetecting a parameter for translation in an SIP message, and addsidentification information (tag) to the parameter for translation. TheSIP address translator has a translation rule, and a function ofrewriting an IP address included in an SIP message. The SIP addresstranslator rewrites an IP address included in an SIP message, making useof a translation entry of the address translator.

In a third implementation, the address translator includes SIP messagetranslating means.

When the present invention is applied, IP address information includedin an SIP message communicated between different regions is translated,making use of the translation entry of the address translator. It istherefore possible to provide a VoIP-based audio communication servicebetween terminals belonging to different regions.

A communication network according to another aspect of the presentinvention has the following features.

(1) A communication network in which a network A conforming to a certainprotocol P and a network B conforming to a certain protocol Q areinterconnected through an address translator, wherein:

the address translator includes a function of translating the protocol Pto the protocol Q, or vice versa, a function of detecting an SIPcommunication, information and communication means required forcommunicating with a server device, and a function of creatingtranslation information including a correspondence relationship betweenaddresses in the protocol P and addresses in the protocol Q inassociation with the server device when an SIP communication isdetected; and

the server device includes translation information and means requiredfor mutually translating the protocols P, Q in the address translatorwhen information for translation is included in an SIP communication,and information and communication means required for communicating withthe address translator,

wherein with regard to an SIP communication from the network Aconforming to the protocol P to the network B conforming to the protocolQ, the SIP communication is detected by the address translator, and theserver device translates information in the SIP communication from anaddress conforming to the protocol P to an address conforming to theprotocol Q with reference to translation information possessed by theaddress translator; and

with regard to a communication from the network A conforming to theprotocol P to the network B conforming to the protocol Q, an addressconforming to the protocol P is translated to an address conforming tothe protocol Q with reference to the translation information possessedby the address translator.

As described in (1), an SIP-based audio communication can beaccomplished between terminals belonging to an IPv4 network and an IPv6network when the address translator according to one aspect of thepresent invention interconnects a network conforming to an IPv4 addressand a network conforming to an IPv6 address, and the SIP addresstranslator according to the present invention rewrites an IP addressincluded in an SIP message.

According to another aspect of the present invention, when an addresstranslator according to one embodiment of the present inventioninterconnects a network 1 confirming to an IPv4 private address and anetwork 2 conforming to an IPv4 global address, and an SIP addresstranslator according to one embodiment of the present invention rewritesan IP address included in an SIP message, an SIP-based audiocommunication can be accomplished between a terminal belonging to thenetwork 1 and a terminal belonging to the network 2. Specifically, thefollowing configuration (2) is provided.

(2) A communication network in which a plurality of networks A1, A2conforming to a certain protocol P are connected through an addresstranslator, wherein:

the address translator has a function of translating the protocol P ofthe network A1 to the protocol P of the network A2, or vice versa, afunction of detecting an SIP communication, information andcommunicating means required for communicating with a server device, anda function of creating translation information including acorrespondence relationship between addresses in the network A1 andaddresses in the network A2 in association with the server device whenan SIP communication is detected;

the server device has translation information and means required fortranslating addresses in the network A1 to addresses in the network A2,or vice versa in the address translator when information for translationis included in an SIP communication, and information and communicatingmeans required for communicating the address translator;

with regard to an SIP communication from the network A1 to the networkA2, the address translator detects the SIP communication, and the serverdevice translates information in the SIP communication from an addressin the network A1 to an address in the network A2 with reference totranslation information possessed by the address translator; and

with regard to a communication from the network A1 conforming to theprotocol P to the network A2 conforming to the protocol P, an address inthe network A1 is translated to an address in the network A2 withreference to the translation information possessed by the addresstranslator.

(3) The communication network described in (1) or (2), wherein theaddress translator further has a function of detecting information fortranslation included in the SIP communication, and adding identificationinformation, and the server device detects an object for translationusing the identification information.

(4) The communication network described in (3), wherein the addresstranslator further has a function of corresponding the identificationinformation to SIP communication information, and the address translatorfurther has a function of deleting translation information correspondingto the identification information at the end of the SIP communication.

(5) The communication network described in (1)-(4), wherein the addresstranslator detects the SIP communication based on information on adestination, information on the destination and a port thereof, orinformation on the port.

(6) A communication network in which a network A conforming to a certainprotocol P and a network B conforming to a certain protocol Q areinterconnected through an address translator, wherein:

the address translator has a function of translating the protocol P tothe protocol Q, or vice versa, a function of detecting an SIPcommunication, a function of creating translation information includinga correspondence relationship between addresses in the protocol P andaddresses in the protocol Q, and means for creating translationinformation required for mutually translating the protocols P, Q wheninformation for translation is included in the SIP communication;

with regard to an SIP communication from the network A conforming to theprotocol P to the network B conforming to the protocol Q, the addresstranslator detects the SIP communication, and translates information inthe SIP communication from an address conforming to the protocol P to anaddress conforming to the protocol Q with reference to the translationinformation; and

with regard to a communication from the network A conforming to theprotocol P to the network B conforming to the protocol Q, an addressconforming to the protocol P is translated to an address conforming tothe protocol Q with reference to the translation information possessedby the address translator.

(7) A communication network in which a network A1 and a network A2conforming to a certain protocol P are interconnected through an addresstranslator, wherein:

the address translator has a function of translating the protocol P ofthe network A1 to the protocol P of the network A2, or vice versa, afunction of detecting an SIP communication, a function of creatingtranslation information including a correspondence relationship betweenaddresses in the network A1 and addresses in the network A2, and afunction of creating translation information required for translating anaddress in the network A1 to an address in the network A2, or viceversa, when information for translation is included in the SIPcommunication;

with regard to an SIP communication from the network A1 to the networkA2, the address translator detects the SIP communication, and translatesinformation in the SIP communication from an address in the network A1to an address in the network A2 with reference to the translationinformation; and

with regard to a communication from the network A1 to the network A2, anaddress in the network A1 is translated to an address in the network A2with reference to the translation information possessed by the addresstranslator.

A server device which embodies another aspect of the present inventionis characterized by the followings.

(A) A communication network in which a network conforming to a certainprotocol P and a network conforming to a certain protocol Q areinterconnected through an address translator, wherein:

the address translator includes a function of translating the protocol Pto the protocol Q, or vice versa, a function of detecting an SIPcommunication, information and communication means required forcommunicating with a server device, and a function of creatingtranslation information including a correspondence relationship betweenaddresses in the protocol P and addresses in the protocol Q inassociation with the server device when an SIP communication isdetected; and

the server device includes translation information and means requiredfor mutually translating the protocols P, Q in the address translatorwhen information for translation is included in an SIP communication,and information and communication means required for communicating withthe address translator.

(B) A communication network in which a plurality of networks A1, A2conforming to a certain protocol P are interconnected through an addresstranslator, wherein:

the address translator has a function of translating the protocol P ofthe network A1 to the protocol P of the network A2, or vice versa, afunction of detecting an SIP communication, information andcommunicating means required for communicating with a server device, anda function of creating translation information including acorrespondence relationship between addresses in the network A1 andaddresses in the network A2 in association with the server device whenan SIP communication is detected; and

the server device has translation information and means required fortranslating addresses in the network A1 to addresses in the network A2in the address translator, or vice versa, when information fortranslation is included in an SIP communication, and information andcommunication means required for communicating the address translator.

Also, an address translator according to one aspect of the presentinvention is:

(1) an address translator for interconnecting a network A conforming toa certain protocol P and a network B conforming to a certain protocol Q,having:

a translation function of translating the protocol P to the protocol Q,or vice versa;

a communication function of communicating with a server device; and

a translation information creating function of creating translationinformation including a correspondence relationship between addresses inthe protocol P and addresses in the protocol Q,

wherein the address translator transfers detected SIP communication datato the server device, and receives the SIP communication data, theprotocol of which has been mutually translated by the server devicebased on the translation information.

(2) A communication network in which a plurality of networks A1, A2conforming to a certain protocol P are interconnected through an addresstranslator, wherein:

a server device includes translation information and means required fortranslating an address in the network A1 to an address in the networkA2, or vice versa in the address translator when information fortranslation is included in an SIP communication, and information andcommunication means required for communicating with the addresstranslator; and

the address translator includes a function of translating the protocol Passociated with the network A1 to the protocol P associated with thenetwork A2, a function of detecting an SIP communication, informationand communication means required for communicating with a server device,and a function of creating translation information including acorrespondence relationship between addresses in the network A1 andaddresses in the network A2 in association with the server device whenan SIP communication is detected.

(3) The address translator described in (1) or (2), wherein the addresstranslator further has a function of detecting information fortranslation included in the SIP communication, and adding identificationinformation.

(4) The address translator described in (3), wherein the addresstranslator further has a function of corresponding the identificationinformation to SIP communication information, and the address translatorfurther has a function of deleting translation information correspondingto the identification information at the end of the SIP communication.

(5) The address translator described above which detects the SIPcommunication based on information on a destination, information on thedestination and a port thereof, or information on the port.

(6) In a communication network in which a network A conforming to acertain protocol P and a network B conforming to a certain protocol Qare interconnected through an address translator, the address translatorincludes:

a function of translating the protocol P to the protocol Q, or viceversa, a function of detecting an SIP communication, and a function ofcreating translation information including a correspondence relationshipbetween addresses in the protocol P and addresses in the protocol Q; and

means for creating translation information required for mutuallytranslating the protocols P, Q when information for translation isincluded in an SIP communication, and rewriting contents of thecommunication with reference to the translation information.

(7) In a communication network in which a network A1 and a network A2conforming to a certain protocol P are interconnected through an addresstranslator, the address translator includes:

a function of translating the protocol P in the network A1 to theprotocol P in the protocol A2, or vice versa, a function of detecting anSIP communication, and a function of creating translation informationincluding a correspondence relationship between addresses in the networkA1 and addresses in the network A2;

means for creating translation information required for translating anaddress in the network A1 to an address in the network A2, or viceversa, when information for translation is included in the SIPcommunication; and

means for creating translation information required for translating anaddress in the network A1 to an address in the network A2, or viceversa, when information for translation is included in the SIPcommunication, and rewriting contents of the communication withreference to the translation information.

(8) The address translator described in (7), wherein the addresstranslator detects the SIP communication based on information on adestination, information on the destination and a port thereof, orinformation on the port.

Other objects, features and advantages of the invention will becomeapparent from the following description of the embodiments of theinvention taken in conjunction with the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic diagram illustrating an exemplary configuration ofan SIP communication network in the present invention;

FIG. 2 is a block diagram of an address translator 1;

FIG. 3 is a block diagram of an SIP address translator 2;

FIG. 4 is a diagram showing a format for an IPv4 packet;

FIG. 5 is a diagram showing a format for an IPv6 packet;

FIG. 6 is a diagram showing a format for an SIP message;

FIG. 7 is a diagram showing a protocol stack in the present invention;

FIG. 8 is a diagram showing SIP INVITE message example 1;

FIG. 9 is a diagram showing SIP INVITE message example 2;

FIG. 10 is a diagram showing SIP INVITE message example 3;

FIG. 11 is a diagram showing SIP INVITE message example 4;

FIG. 12 is a diagram showing SIP 200 OK message example 1;

FIG. 13 is a diagram showing SIP 200 OK message example 2;

FIG. 14 is a diagram showing SIP 200 OK message example 3;

FIG. 15 is a diagram showing SIP 200 OK message example 4;

FIG. 16 is a diagram showing a message format for an address queryrequest;

FIG. 17 is a diagram showing a message format for an response to theaddress query request;

FIG. 18 is a flow chart illustrating an SIP message translationprocessing routine executed by an SIP address translator 2;

FIG. 19 shows an SIP message translation information table provided inthe address translator 1;

FIG. 20 is a block diagram of an address translator 1 in a second and athird embodiment of the present invention;

FIG. 21 is a diagram showing an example of SIP message with a tag in thesecond and third embodiment of the present invention;

FIG. 22 is a flow chart illustrating a tag addition processing routinein the address translator 1 in the second embodiment of the presentinvention;

FIG. 23 is a flow chart illustrating an SIP message translationprocessing routine in an SIP address translator 2 in the second andthird embodiment of the present invention;

FIG. 24 is a block diagram of an address translator 1 in a fourthembodiment of the present invention;

FIG. 25 shows an example of an SIP parameter list for translation in thepresent invention;

FIG. 26 is a table showing an exemplary SIP message translation rule inthe present invention;

FIG. 27 is an SIP communication sequence diagram 1 in the presentinvention;

FIG. 28 is an SIP communication sequence diagram 2 in the presentinvention;

FIG. 29 is an SIP communication sequence diagram 3 in the presentinvention;

FIG. 30 is a flow chart illustrating a tag addition processing routinein the address translator 1 in the third embodiment of the presentinvention;

FIG. 31 shows a tag management table in the third embodiment of thepresent invention;

FIG. 32 shows a media information management table in the thirdembodiment of the present invention;

FIG. 33 is an SIP communication sequence diagram 1 in the thirdembodiment of the present invention;

FIG. 34 is an SIP communication sequence diagram 2 in the thirdembodiment of the present invention; and

FIG. 35 is an SIP communication sequence diagram 3 in the thirdembodiment of the present invention.

DESCRIPTION OF THE EMBODIMENTS

A first embodiment of the present invention will be described withreference to the accompanying drawings.

FIG. 1 illustrates an exemplary configuration of an SIP communicationnetwork according to the present invention. In the first embodiment, theSIP communication network is comprised of a network A7 and a network B8.Each SIP communication network comprises an SIP server 5, a terminal 6,and a DNS server 4. In this embodiment, the network A7 utilizes an IPv6address. In this embodiment, the network B8 utilizes an IPv4 address.The network A7 and network B8 are interconnected through an addresstranslator 1.

The address translator 1 comprises a function of translating the IPv6address to the IPv4 address or vice versa; an SIP message detectingmeans; a means for communicating with an SIP address translator 2; and ameans for communicating with DNS-ALG3.

The SIP address translator 2 comprises a means for managing informationrequired for translating the address of an SIP message to rewrite thecontents of the SIP message.

FIG. 6 shows a protocol stack and a message format for the SIP. A packetincluding the SIP is comprised of an IP header 41, a TCP/UDP header 42,and a payload 43. The SIP is stored in the payload 43. The SIP iscomprised of a start-line 44, a message-header 45, and a message-body46. The start-line 44 indicates the type and destination of an SIPmessage. The message-header 45 includes parameters associated with theSIP. The message-body 46 indicates information on a connection logicallyestablished between terminals. For description of the message-body, theSDP or the like may be utilized.

FIG. 7 shows a protocol stack for an SIP communication between terminalswhich belong to different regions in accordance with the presentinvention. The SIP server 5 and terminal 6 comprise an SIP protocolstack (41, 42, 43) shown in FIG. 6. In this embodiment, the addresstranslator 1 translates (47) the IP header 41, while the SIP addresstranslator 2 translates (48) the SIP message 43.

FIG. 2 illustrates an exemplary configuration of the address translator1. The address translator 1 comprises interfaces (IF) (19 a, 19 b, 19 n)which accommodate lines (18 a, 18 b, 18 n), respectively, a packettransfer processing unit 14, and a packet transfer control unit 13.

The packet transfer processing unit 14 comprises a distributionprocessing part 15 for detecting an SIP message; a translationinformation memory part 16 for storing information required fortranslating an address; and a packet translation processing part 17 fortranslating a data packet. The translation information memory part 16comprises a translation information table 500.

FIG. 19 shows an exemplary structure of the translation informationtable 500. The translation information table 500 stores a correspondencerelationship between an IPv4 address 501 and an IPv6 address 502.

Turning back to FIG. 2, the description on the address translator 1 iscontinued. The distribution processing part 15 for detecting an SIPmessage detects an SIP message communicated between the network A7 andnetwork B8 by any of the following means.

When an SIP message from the network A (network B) to the network B(network A) is directed to limited destinations, the address translator1 detects the SIP message using a destination address in the packetheader. The distribution processing part 15 of the address translator 1stores information on the address of the destination of the SIP message.

The address translator 1 may detect an SIP message using a combinationof a destination address and a destination port number in the packetheader. When the TCP or UDP is used in a transport mechanism, a defaultport number of the SIP is set to 5060.

When an SIP message from the network A (network B) to the network B(network A) is directed to unlimited destinations, the addresstranslator 1 detects the SIP message using a destination port number inthe packet header. The distribution processing part 15 of the addresstranslator 1 comprises information on a port number for use in the SIPcommunication.

Upon receipt of an IPv4 packet, the packet translation processing part17 searches the translation information memory part 16 to rewrite anIPv4 address to an IPv6 address. On the other hand, upon receipt of anIPv6 packet, the packet translation processing part 17 searches thetranslation information memory part 16 to rewrite an IPv6 address to anIPv4 address. In this event, a variety of information may be rewrittenin addition to the IP address.

FIG. 4 shows a format for the IPv4 packet.

FIG. 5 shows a format for the IPv6 packet. For the translation, thisformat is also translated, as well as the IP address.

Turning back to FIG. 2, the description on the address translator 1 iscontinued. The packet transfer control unit 13 comprises a translationentry registration processing part 11, and a translation entry creationprocessing part 12.

The translation entry registration processing unit 11 registerstranslation information in the translation information memory part 16.

The translation entry creation processing part 12 has a function ofcreating address translation information.

FIG. 3 shows an exemplary configuration of the SIP address translator 2.The SIP address translator 2 comprises interfaces (IF) (23 a, 23 b) foraccommodating lines (24 a, 24 b); a memory 22; a CPU 21; and a bus 25which interconnects these components.

The memory 22 stores an SIP message translation processing program 26, atranslation information query processing program 27, and a translationrule memory part 28.

The SIP message translation processing part 26 includes a parameterinformation table 412 for translation shown in FIG. 25, and an SIPmessage processing routine 60 illustrated in FIG. 18, and translatesaddress information included in an SIP message.

FIG. 25 shows the information table 412 which includes a parameter listfor translation. This table defines parameters for the SIP and SDP whichcan set an IP address and a port number.

The translation rule memory part 28 stores a parameter translation rulefor each of address translation scheme comprised in the addresstranslator 1. An address included in an SIP message is translated inaccordance with the associated translation rule.

FIG. 26 shows a translation rule 413 which is applied when the addresstranslator 1 performs an address translation in accordance with theNAT-PT scheme. The faster translation processing can be accomplished bystoring the translation rule 413 required for the SIP messagetranslation in the memory.

The translation information query part 27 performs the processinginvolved in querying the address translator 1 as to IP addresstranslation information.

Description will now be made on an SIP-based audio communication betweenthe terminal 6 a in the network A and the terminal 6 b in the network Bin FIG. 1 in accordance with sequences shown in FIGS. 27, 28, 29. Uponstarting a communication, a session must be established between theterminal 6 a and terminal 6 b.

Assume herein that the SIP server 5 a has been set in the terminal 6 aas a destination of an SIP message.

The terminal 6 a sends an SIP message (INVITE) for requesting theestablishment of a session between itself and the terminal 6 b to theSIP server 5 a (101).

FIG. 8 shows an example 401 of the SIP message (INVITE) sent by theterminal 6 a to the SIP server 5 a. Information on the destination ofthe SIP message (INVITE) is set in the start-line. A “Via:” headerindicates a route of the SIP message (INVITE). A response to the SIPmessage (INVITE) is sent from a destination terminal to the originatingterminal based on the “Via:” header information. A “To:” headerindicates the destination of the SIP message (INVITE); A “From:” headerindicates the initiator of the SIP message (INVITE); and a “Call-ID:”header indicates a call identifier, respectively. A c-parameter in themessage body indicates connection information; and an m-parameterindicates a port number through which data is received, respectively.After establishing the session, audio information between the terminalsis sent to a destination indicated by the c-parameter and m-parameter.

Turning back to FIG. 27, the description on the sequence is continued.Upon receipt of the SIP message (INVITE), the SIP server 5 a determinesthe destination of the SIP message (INVITE) from the destinationinformation in the start-line. When a domain name is set as thedestination information, the SIP server 5 a sends a DNS query to the DNSserver 4 a (102). The DNS server 4 a solves the name of the SIP server 5a in association with the DNS-ALG3 and DNS server 4 b (103). Forassociating the address translator (TR) 1 with the DNS-ALG3, an addresstranslation scheme is applied, for example, as described inJP-A-2001-274419. The DNS-ALG3 translates an IPv4 address b4 associatedwith the domain name of the SIP server 5 b to a virtual IPv6 addressvb6. The translation information is stored in the translationinformation table 500 in the translation information memory part 16 inthe address translator 1.

The SIP server 5 a acquires the virtual IPv6 address vb6 of the SIPserver 5 b as information on the destination of the SIP message (INVITE)(104), and sends the SIP message (INVITE) to the virtual IPv6 addressvb6 (105).

FIG. 9 shows an example of the SIP message (INVITE) sent by the SIPserver 5 a.

The address translator 1 detects the SIP message (INVITE) based on theIP address, or a combination of the IP address and port number, or theport number (106). The address translator 1 sends the SIP message(INVITE) detected together with the information indicative of an addresstranslation scheme to the SIP address translator (SIP-ALG) 2 (107). Whenthere is only one address translation scheme for the address translator1, information on the address translation scheme may be previouslystored in the SIP address translator 2.

Upon receipt of the SIP message (INVITE), the SIP address translator 2initiates an SIP message translation processing routine 60 illustratedin FIG. 18 (108).

FIG. 18 illustrates the SIP message translation processing routine 60 inthe first embodiment. The SIP address translator 2 compares theparameter list 412 for translation with the received SIP message toextract parameters to be translated (61).

When there is a parameter for translation, the SIP address translator 2checks whether or not the extracted parameter includes an IP address(62).

When the extracted parameter includes an IP address, the SIP addresstranslator 2 decides an address translation scheme (63). Next, the SIPaddress translator 2 identifies IP addresses for translation withreference to the translation rule 413 in the translation rule memorypart 28 (64). For example, IP addresses to be translated when receivingthe SIP message (INVITE) shown in FIG. 9 are the IPv6 address sipa6 ofthe SIP server 5 a, and the IPv6 address a6 of the terminal 6 a.

When the address translation scheme associated with the addresstranslator 1 is an IP masquerade, a port number included in theparameter is also to be translated. The IP masquerade is a scheme whichtranslates a port number of TCP/UDP in addition to the IP address.

The translation information query part 27 in the SIP address translator2 sends an address query request 600 including the IP addresses “sipa6,a6” for translation to the address translator 1 (65, 109).

FIG. 16 shows a message format for the address query request 600. Theaddress query request is comprised of a header 601 and a request content602. The header 601 includes an ID (605) for associating the addressquery request with a response thereto. A count (608) sets the number ofIP addresses for translation.

The request content 602 includes, for each IP address for translation,an IP address type (IPv4, IPv6) (609), an IP address for translation(610), and a port number for translation (611). The port number 611 isset when the translation scheme is the IP masquerade.

The address translator 1 receives the address query request 600, andsearches the translation information table 500 in the translation entrycreation processing part 12 using the IP address for translation.

When the IP address for translation exists in the translationinformation table 500 of the translation entry creation processing part12, the address translator 1 sends an address query request response(110, 66) including the translated IP address to the SIP addresstranslator 2.

When the IP address for translation does not exist in the translationinformation table 500 of the translation entry creation processing unit12, the address translator 1 initiates the translation entryregistration processing part 11 to set a translation entry in thetranslation information table 500 of the translation information memorypart 16. The address translator 1 sends an address query requestresponse (110, 66) including the translated IP addresses (vsipa4, va4)to the SIP address translator 2.

FIG. 17 shows a message format for the address query request response650. The address query request response is comprised of a header 601 anda response content 603. The response content 603 includes a combinationof an IP address type (620), an IP address (621) and a port number (622)for translation, and a translated IP address type (623), IP address(624) and port number (625).

The SIP address translator 2 receives the address query requestresponse, and rewrites the IP address information included in the SIPmessage (67, 111). More specifically, the SIP address translator 2rewrites sipa6 to vsipa4, and a6 to va4, respectively.

The SIP address translator 2 sends the SIP message (INVITE) which hasthe rewritten IP address information to the address translator 1,followed by termination of this routine (68, 112).

When no parameter for translation is extracted at step 61, and when noIP address information is included in the extracted parameter at step62, the SIP address translator 2 does not rewrite the SIP message. TheSIP address translator 2 sends the SIP message to the address translator1 (69), followed by termination of this routine.

Turning back to FIG. 27, the description on the sequence diagram iscontinued. Upon receipt of the SIP message (INVITE) from the SIP addresstranslator 2 (112), the address translator 1 translates the address inthe IP packet header including the SIP message (INVITE) (113). Referringto the translation information table 500 in the translation informationmemory part 16, the address translator 1 translates the destinationaddress to the real IPv4 address “sipb4” of the SIP server 5 b, and thesource address to the virtual IPv4 address “vsipa4” of the SIP server 5a, respectively.

FIG. 10 shows an example of the SIP message (INVITE).

FIG. 11 shows an example of the SIP message (INVITE).

The SIP server 5 b receives the SIP message (INVITE) shown in FIG. 10(114). In FIG. 10, the IP addresses set in the via header, Call-IDheader, contact header and c-parameter have been translated from IPv6 toIPv4, as compared with the exemplary SIP message before the translationshown in FIG. 9.

The SIP server 5 b identifies position information on the destinationterminal 6 b from destination information in the start-line, and sendsthe SIP message (INVITE) shown in FIG. 11 to the terminal 6 b (115).

For permitting the SIP message (INVITE), the terminal 6 b responds withan SIP message (200 OK). Audio information sent by the terminal 6 b tothe terminal 6 a is sent to an IP address specified by the c-parameterin the SIP message (INVITE) (the virtual IPv4 address “va4” of theterminal 6 a), and to a port address specified by the m-parameter.

The SIP message (200 OK) is sent to the terminal 6 a through the SIPserver which has processed the SIP message (INVITE) based on theinformation in the via header. The SIP message (200 OK) is a response tothe SIP message (INVITE).

FIG. 12 is an example 1 of the SIP message (200 OK).

FIG. 13 is an example 2 of the SIP message (200 OK).

Continued on FIG. 28, the SIP server 5 b receives the SIP message (200OK) shown in FIG. 12 from the terminal 6 b (121). The SIP server 5 bsends the SIP message (200 OK) shown in FIG. 13 to the virtual IPv4address “vsipa4” of the SIP server 5 a (122). The address translator 1detects the SIP message (200 OK) (123), and sends the SIP message (200OK) to the SIP address translator 2 (124). Upon receipt of the SIPmessage (200 OK), the SIP address translator 2 initiates the SIP messagetranslation processing routine 60. The flow of the SIP messagetranslation processing (from 125 to 128) is similar to steps 108 to 111in FIG. 27. The SIP address translator 2 sends an address query requestwhich has “vsipa4, va4, b4” set in the IP addresses for translation tothe address translator 1 (126). The address translator 1 searches thetranslation information table 500 in the translation entry creationprocessing part 12 using the IP addresses for translation to detecttranslation entries of “vsipa4-sipa6” and “va4-a6” which have beencreated upon receipt of the address query request at step 109. Theaddress translator 1 creates a virtual IPv6 address “vb6” for “b4” andstores the virtual IPv6 address in the translation information table 500in the translation information memory part 16. The address translator 1sends an address query request response including a combination of theIP addresses for translation and the translated IP addresses to the SIPaddress translator 2 (127).

FIG. 14 shows an example 3 of the SIP message (200 OK).

FIG. 15 shows an example 4 of the SIP message (200 OK).

The SIP address translator 2 rewrites the IP address information, andsends the SIP message (200 OK) to the address translator 1 (128, 129).The address translator 1 performs an address translation for the IPpacket header including the SIP message (200 OK) (130). Referring to thetranslation information table 500 in the translation information memorypart 16, the address translator 1 translates the destination address tothe real IPv6 address “sipa6” of the SIP server 5 a, and the sourceaddress to the virtual IPv6 address “vsipb6” of the SIP server 5 b,respectively. The address translator 1 sends the SIP message (200 OK)shown in FIG. 14 to the SIP server 5 a (131). The SIP server 5 a sendsthe SIP message (200 OK) shown in FIG. 15 to the terminal 6 a (132).

Audio information sent by the terminal 6 a to the terminal 6 b is sentto the IP address (virtual IPv4 address “vb6” of the terminal 6 b)specified by the c-parameter of the SIP message (200 OK), and to theport number specified by the m-parameter.

Continued on FIG. 29, upon receipt of the SIP message (200 OK) which isa response to the SIP message (INVITE), the terminal 6 a sends an SIPmessage (ACK) to the SIP server 5 a (141). The SIP server 5 a sends theSIP message (ACK) to the virtual IPv4 address “vsipb6” of the SIP server5 b (142). The address translator 1 detects the SIP message (ACK) (143),and sends the SIP message (ACK) to the SIP address translator 2 (144).

The flow of the SIP message translation processing (from 145 to 148) issimilar to steps 108 to 111 in FIG. 27. The SIP address translator 2sends the SIP message (ACK) in which the IP address information has beenrewritten to the address translator 1 (149). The address translator 1translates the address of the IP packet header including the SIP message(ACK) (150). The address translator 1 sends the SIP message (ACK) to thereal IPv4 address “sipb4” of the SIP server 5 b (151). The SIP server 5b sends the SIP message (ACK) to the terminal 6 b (152).

The foregoing procedure results in a logical connection establishedbetween the terminal 6 a and terminal 6 b, thereby permitting an audiocommunication between the terminals. The terminal 6 a sends a packetincluding audio information to the virtual IPv6 address (vb6)corresponding to the IPv4 address of the terminal 6 b (153). The addresstranslator 1 searches the translation information memory part 16 usingthe source IP address “a6” and destination IP address “vb6.”Consequently, the translation entries registered at step 109 and step126 in the aforementioned processing sequence are detected.

The address translator 1 rewrites the header information based on thetranslation entries (154). The virtual IPv4 address “va4” correspondingto the IPv6 address “a6” of the terminal 6 a is set to the original IPaddress. The real IPv4 address “b4” of the terminal 6 b is set to thedestination IP address. The address translator 1 sends the packet withthe translated header information to the terminal 6 b (155).

A packet including audio information sent from the terminal 6 b to theterminal 6 a is processed in a similar manner (156-158).

According to the first embodiment of the present invention, an IPaddress in an SIP message can be translated using information on theaddress translator. It is therefore possible to perform SIPcommunications between terminals which belong to different regions.

Next, a second embodiment of the present invention will be describedwith reference to the accompanying drawings.

The first embodiment differs from the second embodiment in a method ofimplementing functions of the SIP message translating means.

In the second embodiment, the address translator 1 comprises a functionof detecting parameters for translation in an SIP message.

FIG. 20 illustrates an exemplary configuration of the address translator1 in the second embodiment. The address translator 1 in the secondembodiment comprises a tag processing part 20 in the packet transfercontrol unit 13, in addition to the exemplary configuration in FIG. 2.

The tag processing part 20 comprises the parameter list 412 fortranslation shown in FIG. 25, and a tag addition processing routine 80illustrated in FIG. 22. Upon detection of an SIP message, the addresstranslator 1 initiates the tag addition processing routine 80.

FIG. 22 illustrates the tag addition processing routine 80 executed bythe address translator 1. The address translator 1 compares theparameter list 412 for translation with the received SIP message toextract parameters for translation (81). When parameters for translationexist in the SIP message, the address translator 1 createsidentification information (tag) which is added to the detectedparameters (82). The tag is comprised of the address translation schemeprovided by the address translator 1, and an identifier. The addresstranslator 1 sends the SIP message with the identification informationadded thereto to the SIP address translator 2 (83), followed bytermination of this routine.

FIG. 21 shows an example of SIP message 401 with tag which is sent bythe address translator 1 to the SIP address translator 2. From acomparison with FIG. 8, it can be seen that the tag is added to the headof a row for translation.

When no parameters for translation exist at step 81, this routine isterminated. When there are no parameters for translation, the addresstranslator translates the address information in the IP packet headerincluding the received SIP message, and transfers the SIP message. Thecontents of the SIP are not translated.

In the second embodiment, the SIP address translator 2 comprises an SIPmessage translation processing routine 70 in the SIP message translationprocessing part 26.

FIG. 23 shows the SIP message translation processing routine 70 which isinitiated when the SIP address translator 2 receives an SIP message withtag in the second embodiment.

The SIP message translation processing routine 70 in FIG. 23 differsfrom the SIP message translation processing routine 60 in the firstembodiment in that step 61 is replaced with step 69 at which a parameterwith tag is extracted. At step 69, a parameter with tag is extractedfrom a received SIP message.

According to the second embodiment, since the address translator 1 has afunction of detecting parameters for translation in the SIP message, theSIP address translator 2 is burdened with a less processing load. Also,when no parameters for translation is included in a received SIPmessage, the address translator 1 can transfer the SIP message withoutstarting the SIP address translator 2.

Next, a third embodiment of the present invention will be described withreference to the accompanying drawings.

The third embodiment is characterized in that the tag information in thesecond embodiment is corresponded to “call leg” of the SIP communicationdefined in RFC2543. RFC2543 defines that the call leg indicates a peerto peer SIP relationship.

The call leg can be uniquely identified by a combination of the “To:”header, “From:” header, and “Call-ID:” header. These headers areincluded in all SIP messages.

The address translator 1 in the third embodiment further comprises, inaddition to the address translator 1 of the second embodiment, tableinformation 300 for managing a correspondence relationship between thetag and call leg; table information 310 for managing a correspondencerelationship between the tag and media information; and methodinformation indicative of the start of an SIP session and the end of theSIP session. A method of the SIP indicative of a request for terminatingan SIP session may be, for example, BYE. The method of the SIP indicatesthe type of an SIP message.

Also, tag information is added to each entry of the translationinformation table 500 provided in the translation entry creationprocessing part 12 of the address translator 1.

In the third embodiment, the SIP address translator 2 sets the taginformation in an ID of an address query request 600 which is sent tothe address translator 1. When the address translator creates atranslation entry, the tag information is stored in the translationinformation table 500.

Generally, a request for terminating an SIP session does not include themessage-body. However, for providing a more detailed SIP communication,it is desired that the address translator 1 deletes address translationinformation for the SIP session, when this SIP session terminates.

The third embodiment is characterized in that the address translator 1has the information on the correspondence between the call leg and tag,so that the associated translation information is deleted at the end ofan SIP session, without providing a session state management function inthe SIP address translator 2.

FIG. 31 shows a tag management table 300 provided in the tag processingpart 20 of the address translator 1 in the third embodiment. Each entryin the tag management table 300 defines a tag (301); IPv6 To header(302); IPv6 From header (303); IPv6 Call-ID (304); IPv4 To header (305);IPv4 From header (306); and IPv4 Call-ID (307).

Since IP address information can be set in the To header, From headerand Call-ID header, entries on the IPv6 side and IPv4 side are defined.

FIG. 32 shows a media information management table 310 provided in thetranslation entry creation processing part 12 of the address translator1 in the third embodiment. Each entry in the media informationmanagement table 310 defines a tag (311); an IPv6-side c-parameter(312); an IPv6-side m-parameter (313); an IPv4-side c-parameter (314);and an IPv4-side m-parameter (315). With the provision of the mediainformation management table 310, the address translator 1 blocks audioinformation after termination of an SIP session.

FIG. 30 illustrates a tag addition processing routine 90 provided in theaddress translator 1 in the third embodiment. Upon detection of an SIPmessage, the address translator 1 searches the tag management table 300(91). A search key is call leg information in the received SIP message.

When no entry exists, a tag is created (92).

The address translator 1 references the method information indicative ofthe start of the SIP session and the end of the SIP session, and theparameter list for translation 412 to perform processing suitable forthe received message (93).

When the SIP message indicates the end of the session and the SIPmessage includes parameters for translation, the address translator 1sends the SIP message with tag information added thereto to the SIPaddress translator 2 (94). The address translator 1 receives the SIPmessage, in which the parameters have been rewritten, from the SIPaddress translator 2 (95). Here, the address translator 1 deletes atranslation entry associated with the tag included in the translationinformation table 500 of the translation entry creation processing part12, and an entry associated with the tag included in the mediainformation management table 310. Further, the translation entryregistration processing part 11 requests the translation informationmemory part 16 to delete associated entries. When the deletion isnormally performed, this routine is terminated (96).

When the SIP message indicates the end of the SIP session and the SIPmessage includes no parameters for translation, the address translator 1executes the foregoing step 96.

When the SIP message indicates the start of the SIP session, the addresstranslator 1 registers information on a correspondence between the tagand the c-parameter and m-parameter in the media information managementtable 310 (97). When the SIP message includes parameters fortranslation, the address translator 1 sends the SIP message with taginformation added thereto to the SIP address translator 2 (98), followedby termination of this routine. When the SIP message includes noparameters for translation, this routine is terminated.

When the SIP message indicates other than the start of the SIP sessionand the end of the SIP session, and the SIP message includes parametersfor translation, the address translator 1 sends the SIP message with taginformation added thereto to the SIP address translator 2 (98), followedby termination of this routine.

When the SIP message indicates other than the start of the SIP sessionand the end of the SIP session, and the SIP message includes noparameters for translation, this routine is terminated.

Next, description will be made on an SIP-based audio communicationperformed between the terminal 6 a in the network A and the terminal 6 bin the network B in the third embodiment in accordance with sequencesillustrated in FIGS. 33, 34 and 35.

FIGS. 33 and 34 illustrate an SIP session establishing sequence. Thebasic flow of the processing is identical to that in FIGS. 27 and 28.

A difference between FIGS. 33 and 27 lies in the addition of step 116 inFIG. 33.

A difference between FIGS. 34 and 28 lies in the addition of step 133 inFIG. 34.

At step 116 and step 133, the address translator 1 identifies that adetected SIP message indicates the start of a session, and storesinformation on a correspondence between tag information and thec-parameter and m-parameter included in the detected SIP message in themedia information management table 310.

FIG. 35 illustrates an SIP session terminating sequence. The basic flowis identical to that in FIGS. 27 and 28. The terminal 6 a sends an SIPmessage (BYE) for requesting the end of an SIP session between itselfand the terminal 6 b to the SIP server 5 a (161). The SIP server 5 asends the SIP message (BYE) to the virtual IPv6 address “vsipb6” of theSIP server 5 b (162). The address translator 1 detects this SIP message(BYE), and sends the SIP message (BYE) with tag to the SIP addresstranslator 2 (163, 164). The flow of SIP message translation processing(from 165 to 168) is similar to steps 108 to 111 in FIG. 27.

Upon receipt of the SIP message (BYE), in which parameters including theIP address have been rewritten, from the SIP address translator 2 (169),the address translator 1 translates addresses in the packet headerincluding the SIP message (BYE) (170). The address translator 1 sendsthe SIP message (BYE) to the real IPv4 address “sipb4” of the SIP server5 b (171). The SIP server 5 b sends the SIP message (BYE) to theterminal 6 b (172).

When the terminal 6 b has normally processed the SIP message (BYE), theterminal 6 b sends a response SIP message (200 OK) to the SIP message(BYE) to the SIP server 5 b (173).

The SIP server 5 b sends a response SIP message (200 OK) to the SIPmessage (BYE) to the virtual IPv4 address “vsipa4” of the SIP server 5 a(174).

Upon detection of the SIP message (200 OK), the address translator 1detects that the received SIP message (200 OK) is a response to the SIPmessage (BYE) for requesting termination of the SIP session (175), andsends the SIP message (200 OK) with tag to the SIP address translator 2(176). The flow of SIP message translation processing (from 177 to 180)is similar to the steps 108 to 111 in FIG. 27.

Upon receipt of the SIP message (200 OK), in which the parameters havebeen rewritten, from the SIP address translator 2 (181), the addresstranslator 1 translates addresses in the packet header including the SIPmessage (200 OK). Next, the address translator 1 searches the tagmanagement table 300 for an associated tag, using the call leginformation in the SIP message (200 OK) as a search key. Then, theaddress translator 1 deletes a translation entry associated with the tagincluded in the translation information table 500, and an entryassociated with the tag included in the media information managementtable 310 (182).

The address translator 1 sends the SIP message (200 OK) to the terminal6 b via the SIP server 5 b (183, 184).

According to the third embodiment, since the address translator 1 hasthe correspondence relationship between the tag and call leg, thetranslation entry can be deleted at the end of an SIP communication.

Next, a fourth embodiment of the present invention will be describedwith reference to the drawings.

The fourth embodiment is characterized in that the IP address translator1 comprises an SIP message translating means.

FIG. 24 illustrates an exemplary configuration of the address translator1 in the fourth embodiment.

The packet transfer control unit 13 comprises an SIP message translationprocessing part 31 and a translation rule memory part 32, in addition tothe functional blocks of the address translator 1 in the firstembodiment.

The SIP message translation processing part 31 has a function providedin the SIP message translation processing part 26 of the SIP addresstranslator 2 in the first embodiment.

The translation rule memory part 32 has a function provided in thetranslation rule memory part 28 of the SIP address translator 2 in thefirst embodiment.

According to the fourth embodiment, since the address translator 1comprises the SIP message translating means, the communicationprocessing with the SIP address translator 2 can be omitted. It istherefore possible to provide faster processing involved in the SIPmessage translation.

Next, a fifth embodiment will be described.

In FIG. 1, the network A7 utilizes an IPv4 private address. The networkB8 utilizes an IPv4 global address.

The address translator 1 comprises a function of translating the IPv4private address to the IPv4 global address or vice versa, instead of thefunction of translating the IPv4 address and IPv6 address.

In the fifth embodiment, upon receipt of an SIP message from the IPv4private network 7, the address translator 1 sends the SIP message to theSIP address translator 2. The SIP address translator 2 references thetranslation rule to identify IP addresses for translation. For example,the IP addresses for translation are the IPv4 private address of the SIPserver 5 a, and the IPv4 private address of the terminal 6 a.

The SIP address translator 2 sends an address query request includingthe IP addresses for translation to the address translator 1.

Upon receipt of the address query request, the address translator 1creates translation entries for the IPv4 private address and IPv4 globaladdress. The address translator 1 sends an address query requestresponse including the IPv4 private address before the translation andthe translated IPv4 global address to the SIP address translator 2.

According to the fifth embodiment, when the network A7 and network B8conforming to the IPv4 protocol are interconnected through the addresstranslator 1, and the SIP address translator 2 rewrites IP addressesincluded in an SIP message, the SIP-based audio communication can beaccomplished between a terminal belonging to the network A7 and aterminal belonging to the network B8.

As will be apparent from the foregoing embodiment, the SIP addresstranslator 2 rewrites the contents of an SIP message, making use oftranslation information of the address translator 1, so that theSIP-based audio communication can be accomplished between terminalswhich exist in different regions. When the address translator 1comprises a function of detecting parameters for translation in an SIPmessage, and adds identification information (tag) to the parameters fortranslation, the processing in the SIP address translator 2 can bereduced. Further, when the address translator 1 comprises acorrespondence relationship between the identification information andcall leg, and a function of detecting the start of an SIP session andthe end of the SIP session, the address translator 1 can deleteassociated entries at the end of a communication. It is thereforepossible to provide more detailed SIP communication control.

When the address translator 1 comprises an SIP message translatingmeans, the communication processing with the SIP message translator 2can be omitted.

It should be further understood by those skilled in the art that theforegoing description has been made on embodiments of the invention andthat various changes and modifications may be made in the inventionwithout departing from the spirit of the invention and the scope of theappended claims.

What is claimed is:
 1. A packet communication apparatus located betweena first IP (internet Protocol) network and a second IP network,comprising: a translator which is configured to translate a first IPaddress in a header of a first IP packet to a second IP address,according to translation information for translating from the first IPaddress of the first IP network to the second IP address of the secondIP network when the first IP packet is received, the first IP packetincludes a first payload including a third IP address of the first IPnetwork; a transmitter which is configured to create a second IP packetwhich includes a second IP header including the translated second IPaddress and a second payload including a fourth IP address of the secondIP network that has been translated from the third IP address includedin the first payload of the received first IP packet, and which isconfigured to send the second IP packet toward the second IP network. 2.A packet communication apparatus according to claim 1, wherein the firstpayload includes a first SIP (Session Initiation protocol) message whichhas the third IP address, and the second payload includes a second SIPmessage which has the forth IP address.
 3. A packet communicationapparatus according to claim 1, wherein the first IP network and thesecond IP network are conforming to different addressing systems for anIP address.
 4. A packet communication apparatus according to claim 3,wherein the first IP network is conforming to an addressing system for aglobal/private IP address and the second IP network is conforming to anaddressing system for a private/global IP address.
 5. A packetcommunication apparatus according to claim 4, wherein the first IPnetwork and the second IP network is conforming to an IPv4.
 6. A packetcommunication apparatus according to claim 1, wherein the first IPnetwork and the second IP network are conforming to different internetprotocol.
 7. A packet communication apparatus according to claim 6,wherein the first IP network is conforming to an IPv6 and a second IPnetwork is conforming to an IPv4.
 8. A packet communication apparatusaccording to claim 6, wherein the first IP network is conforming to anIPv4 and a second IP network is conforming to an IPv6.
 9. A packetcommunication apparatus according to claim 2, further comprising anapplication level gateway which generates the second SIP message.
 10. Apacket communication apparatus according to claim 2, wherein the fourthIP address in the second SIP message is based on the first SIP messageand the translation information.
 11. A packet communication apparatusaccording to claim 2, wherein the fourth IP address is provided by anapplication level gateway.